U3F1ZWV6ZTE4Njk5NTM2MjU3MDQwX0ZyZWUxMTc5NzI4NDQzNTgwOQ==

How To Create A Calculator In Python

 برمجة آلة حاسبة بستخدام لغة بايثون Python Tkinter

كود بايثون python لعمل الة حاسبة بسيطة, هذا هو موضوع مقالة اليوم حيث ان هذا الكود يطلب بكثرة جدا في الجامعات والمعاهد سواء في شيتات او حتى في الامتحان

اليو م ان شاء الله سوف نقوم برمجة الة حاسبة بلغة python من البداية حتي الاحتراف هدا العمل موجه للمبتدئين الدين لديه معرفة بسيطة في لغة بايثون 

حتي ان لم يكن لديك اي علم بقواعد اللغة او طريقة كتابة اللغة او كيفية تصميم برنامج بسيط  مدرسة البرمجة تقدم لكم دورة كامل و بسيط في الشرح لتعلم اساسيات لغة البايثون من الصفر قبل البداء هنا ادا كنت لتعرف لغة بايثون اضغط هنا python سوف تجد درس بسيط يعلمك اسايات اللغة من البداية سوف نبداء الدورة الان وشرح جميع اساسيات تصميم الة حاسبة بلغة البايثون programing calculator using python

 لينك مباشرلتحميل كتاب عمل الة حاسبة مجاناً PDF اونلاين 2021 r n هو بسيط من اكواد الالة الحاسبة بلغة الفيجوال بسيك طوت نت تأليف: مصطفى حيدر كتب لغات البرمجة لغة (بالإنجليزية: 

مطلبات المشروع انشاء الله  سوف يتم شرحها بتفصيل

اولا سوف نعرف  Tkinter 



Tkinter هي الطريقة الأكثر شيوعًا لإنشاء واجهات مستخدم في Python. يزودك هذا البرنامج التعليمي بجميع المعلومات التي تحتاجها لفهم Tkinter وكيفية تطبيقها عمليًا. 

لماذا Tkinter لبناء واجهات المستخدم الرسومية Python؟

Programming language) nهي مجموعة الأوامر تكتب وفق قواعد تُحَدَّد بواسطة ومن ثُمَّ تمر هذه بعدة مراحل إلى أن تنفذ جهاز الحاسوب nيحتوي القسم الكثير الكتب التعليمية عن والكورسات لمساعدة 

Tkinter شائع لأنه أداة سهلة الاستخدام لكنها قوية. لا يضر أيضًا أن Tkinter هو إطار عمل واجهة المستخدم الوحيد المدمج في مكتبة Python القياسية. Tkinter هي أيضًا أداة مشتركة بين الأنظمة الأساسية ، حيث تعرض واجهات المستخدم الرسومية باستخدام عناصر نظام التشغيل الأصلي بحيث تبدو التطبيقات التي تم إنشاؤها باستخدام Tkinter وكأنها تنتمي إلى أي نظام أساسي تم تثبيتها عليه.


في حين أن تطبيقات Tkinter قد تبدو قديمة مقارنة بتلك التي تم إنشاؤها باستخدام أطر واجهة المستخدم الرسومية الأكثر تعقيدًا ، فإن Tkinter خفيف الوزن نسبيًا وغير مؤلم للتشفير به. للحصول على مظهر أكثر حداثة ، يمكنك الاستفادة من وحدة tkinter.ttk (التي توفر الوصول إلى مجموعة عناصر واجهة المستخدم ذات السمات Tk) ، والتي ، جنبًا إلى جنب مع فئة ttk.Style () ، تمنح تطبيقات Tkinter مظهرًا وشعورًا أكثر حداثة.

المبرمجين المبتدئين تطوير مهاراتهم التقنية books online

عندما يتعلق الأمر بتشفير التطبيق ، يقدم Tkinter بنية بسيطة تعتمد على الأحداث تستجيب فيها التطبيقات للأحداث التي يقودها المستخدم مثل النقر بالماوس.

159 واجهات بايثون Python gui اله حاسبة calc calculator tkinter Python in Arabic

ينقسم هذا البرنامج التعليمي إلى أقسام سهلة الفهم ، يبدأ كل منها بتعليق ويتم ترقيمها للرجوع إليها. طالما أن لديك إصدارًا حديثًا من Python مثبتًا ، يمكنك متابعة التعليمات البرمجية في كل قسم:

السلام عليكم انا مبتدأ في تعلم لغة بايثون الان تلك الاكواد التي تعلمتها لو ارد ان


استيراد Tkinter 

قم بإنشاء حاوية

تحديد وظائف القطعة

تصميم التطبيق

قم بتشغيل التطبيق

 


1) استيراد Tkinter

سنستخدم Tkinter لبناء تطبيق آلة حاسبة يتميز بالوظائف الحسابية الأساسية. نظرًا لأن الإصدارات الحديثة من Python تحتوي على كل من Tkinter ووظائف الرياضيات الأساسية في المكتبة الأساسية ، فكل ما نحتاج إلى القيام به للبدء هو تثبيت Python. 

برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة

لمستخدمي Windows: 

حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة حاسبة

أولاً ، قم بتثبيت أداة الدولة عن طريق تشغيل ما يلي في موجه Powershell:

IEX(New-Object Net.WebClient).downloadString('https://platform.activestate.com/dl/cli/install.ps1')

ستقوم أداة State Tool الآن بتثبيت Python 3.8 تلقائيًا في بيئة افتراضية من أجلك عندما تقوم بتشغيل ما يلي في موجه cmd:

state activate --default ActiveState/ActivePython-3.8

لمستخدمي Linux أو Mac:
بايثون بايثون  بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون بايثون  

أولاً ، قم بتثبيت أداة الدولة عن طريق تشغيل ما يلي في موجه الأوامر:

sh <(curl -q https://platform.activestate.com/dl/cli/install.sh)

ستقوم أداة State Tool الآن بتثبيت Python 3.8 تلقائيًا في بيئة افتراضية عندما تقوم بتشغيل ما يلي:
Python python python python python python python Python python python python python python python Python python python python python python python Python python python python python python python

state activate --default ActiveState/ActivePython-3.8

يمكننا الآن المضي قدمًا واستيراد كل شيء من حزمة Tkinter:

from tkinter import *


2) قم بإنشاء حاوية Tkinter
   الة حاسبة  الة حاسبة  الة حاسبة   الة حاسبة  الة حاسبة  الة حاسبة  الة حاسبة  الة حاسبة  الة حاسبة 
 الة حاسبة  الة حاسبة  الة حاسبة   الة حاسبة  الة حاسبة  الة حاسبة  الة حاسبة  الة حاسبة  الة حاسبة 
تتطلب عناصر واجهة المستخدم حاوية / نافذة لوضعها فيها. لإنشاء نافذة جذر ، أدخل الكود التالي ، وقم بتوفير اسم ( <any_name> ) لها. يمكنك أيضًا إعادة تسمية عنوان النافذة من آلة حاسبة إلى أي شيء تريده.

<any_name> = Tk() 
root = Tk() 

# طريقة الهندسة التي تحدد حجم نافذة الجذر: "العرض × الارتفاع":


root.geometry("312x324")

# منع تغيير حجم نافذة الجذر:

root.resizable(0, 0)

# عنوان النافذة:

root.title("CALCULATOR")


3) تحديد وظائف Tkinter Widget

في هذه الخطوة ، ستحدد ما يحدث عندما ينقر المستخدم على زر في الآلة الحاسبة الخاصة بنا. سنحتاج إلى رمز يمكنه:
Calculator calculator calculator calculator calculator calculator calculator calculator calculator calculator
أدخل رقمًا أو عملية على btn_click ()
برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة برمجة 
امسح الإدخال على btn_clear ()
احسب الإدخال على btn_equal ()
# 3 أ. تقوم وظيفة btn_click بتحديث حقل الإدخال كلما تم إدخال رقم. أي زر يتم الضغط عليه سيكون بمثابة تحديث للنقر فوق الزر:

def btn_click(item):
global expression
expression = expression + str(item)
input_text.set(expression)

# 3 ب. تقوم وظيفة btn_clear بمسح حقل الإدخال والحسابات السابقة باستخدام زر "مسح":

def btn_clear():
global expression
expression = ""
input_text.set("")

# 3 ج. تحسب دالة btn_equal التعبير الذي تم إدخاله في حقل الإدخال. 

def btn_equal():
    global expression

 تقوم دالة # EVAL () بتقييم تعبيرات السلسلة مباشرة:   

result = str(eval(expression)) 
    input_text.set(result)
    expression = ""
expression = ""

# StringVar () 'يُستخدم للحصول على مثيل حقل الإدخال:

input_text = StringVar()


4) تصميم التطبيق

الآن بعد أن أصبح لدينا الرمز المطلوب ، يمكننا:

قم بإنشاء إطار لوضع حقل الإدخال الخاص بنا
أنشئ حقل الإدخال الذي سيعرض الأرقام والعمليات الحسابية
قم بإنشاء إطار لوضع أزرارنا فيه
 ضع الأزرار في صفوف ، وقم بتكوينها لتشغيل الأحداث المحددة في القسم 3
# 4 ا. استخدم عنصر واجهة مستخدم الإطار لإنشاء إطار لحقل الإدخال:

input_frame = Frame(root, width = 312, height = 50, bd = 0, highlightbackground = "black", highlightcolor = "black", highlightthickness = 1)
input_frame.pack(side = TOP)

# 4 ب. قم بإنشاء حقل إدخال داخل الإطار الذي تم إنشاؤه في الخطوة السابقة. محاذاة الإخراج إلى اليمين:

input_field = Entry(input_frame, font = ('arial', 18, 'bold'), textvariable = input_text, width = 50, bg = "#eee", bd = 0, justify = RIGHT)
input_field.grid(row = 0, column = 0)
input_field.pack(ipady = 10)


# 'ipady' هي حشوة داخلية تزيد من ارتفاع حقل الإدخال.

 

# 4 ج. قم بإنشاء إطار منفصل أسفل حقل الإدخال ، والذي سيتضمن الأزرار الموضوعة في صفوف داخل الإطار:

btns_frame = Frame(root, width = 312, height = 272.5, bg = "grey")
btns_frame.pack()
# يحدد الجزء المتبقي من هذا القسم أدوات الأزرار مرتبة في 5 صفوف داخل عنصر واجهة مستخدم الإطار. يتم وضع الأزرار باستخدام الشبكة () مدير التخطيط. يحتوي كل زر على حدث يمكن تشغيله بإجراء ماوس تم تكوينه في القسم السابق. على سبيل المثال btn_click ()

 

# 4 د. يتضمن الصف الأول زرين ، "مسح (مسح)" و "تقسيم (/)": 

clear = Button(btns_frame, text = "Clear", fg = "black", width = 32, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_clear()).grid(row = 0, column = 0, columnspan = 3, padx = 1, pady = 1)
divide = Button(btns_frame, text = "/", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("/")).grid(row = 0, column = 3, padx = 1, pady = 1)


# 4 هـ. الصف الثاني يتضمن 4 أزرار ، '7' و '8' و '9' و 'Multiply (*)':

seven = Button(btns_frame, text = "7", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(7)).grid(row = 1, column = 0, padx = 1, pady = 1)
eight = Button(btns_frame, text = "8", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(8)).grid(row = 1, column = 1, padx = 1, pady = 1)
nine = Button(btns_frame, text = "9", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(9)).grid(row = 1, column = 2, padx = 1, pady = 1)
multiply = Button(btns_frame, text = "*", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("*")).grid(row = 1, column = 3, padx = 1, pady = 1)

# 4 و. يتضمن الصف الثالث 4 أزرار ، "4" ، "5" ، "6" و "طرح (-)":

four = Button(btns_frame, text = "4", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(4)).grid(row = 2, column = 0, padx = 1, pady = 1)
five = Button(btns_frame, text = "5", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(5)).grid(row = 2, column = 1, padx = 1, pady = 1)
six = Button(btns_frame, text = "6", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(6)).grid(row = 2, column = 2, padx = 1, pady = 1)
minus = Button(btns_frame, text = "-", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("-")).grid(row = 2, column = 3, padx = 1, pady = 1)

# 4 ز. الصف الرابع يتضمن 4 أزرار ، '1' و '2' و '3' و 'زائد (+)': 

one = Button(btns_frame, text = "1", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(1)).grid(row = 3, column = 0, padx = 1, pady = 1)
two = Button(btns_frame, text = "2", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(2)).grid(row = 3, column = 1, padx = 1, pady = 1)
three = Button(btns_frame, text = "3", fg = "black", width = 10, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(3)).grid(row = 3, column = 2, padx = 1, pady = 1)
plus = Button(btns_frame, text = "+", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click("+")).grid(row = 3, column = 3, padx = 1, pady = 1)

# 4 ح. يتضمن الصف الخامس 3 أزرار ، "0" ، "عشري (.)" ، و "يساوي (=)":

zero = Button(btns_frame, text = "0", fg = "black", width = 21, height = 3, bd = 0, bg = "#fff", cursor = "hand2", command = lambda: btn_click(0)).grid(row = 4, column = 0, columnspan = 2, padx = 1, pady = 1)
point = Button(btns_frame, text = ".", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_click(".")).grid(row = 4, column = 2, padx = 1, pady = 1)
equals = Button(btns_frame, text = "=", fg = "black", width = 10, height = 3, bd = 0, bg = "#eee", cursor = "hand2", command = lambda: btn_equal()).grid(row = 4, column = 3, padx = 1, pady = 1)

5) قم بتشغيل تطبيق lication

الآن بعد أن وضعنا جميع عناصر واجهة المستخدم الرسومية الخاصة بنا وربطناها بالكود المطلوب لتعكس مدخلات المستخدم ، حان الوقت لتجربة الآلة الحاسبة الخاصة بنا عن طريق تشغيل الأمر التالي:

root.mainloop ()






***********************


***********************

تعليقات
ليست هناك تعليقات
إرسال تعليق

إرسال تعليق

الاسمبريد إلكترونيرسالة